package com.tx.java8.date;

import org.junit.jupiter.api.Test;

import java.time.LocalDate;
import java.time.LocalDateTime;
import java.time.ZoneId;
import java.time.format.DateTimeFormatter;
import java.util.Set;

/**
 * DateTimeFormatter：格式化
 * zoneId，zoneTime,zoneDateTime,带时区的
 */
public class DateTest4 {

    /**
     * dateTimeFormatter：时间格式化
    **/
    @Test
    public void test1(){
        LocalDateTime ld = LocalDateTime.now();
        //1.日期转字符串
        //默认方式
        DateTimeFormatter df = DateTimeFormatter.ISO_DATE;
        String dateStr = ld.format(df);
        System.out.println(dateStr);

        System.out.println("--------------------");

        //自定义
        DateTimeFormatter df2 = DateTimeFormatter.ofPattern("yyyy年MM月dd日");
        //两种调用的方法
        System.out.println(ld.format(df2) + " 或者：" +df2.format(ld));



        System.out.println("--------------------");
        //2.字符串转时间
        String str = "2020年01月01日";
        //只有时分秒，要用LocalDate
        LocalDate ld2 = LocalDate.parse(str,df2);
        System.out.println(ld2);

    }

    /**
     *  时区： zoneId，zoneTime,zoneDateTime
    **/
    @Test
    public void test2(){
        //获取所有时区
        Set<String> set = ZoneId.getAvailableZoneIds();
        set.stream().forEach(System.out::println);
        System.out.println("------------------------------");

        LocalDateTime ld = LocalDateTime.now(ZoneId.of("Asia/Aqtau"));
        System.out.println(ld);
    }
}
